#Boa:Dialog:Dialog1

import wx
import wx.grid
import consultasBD
import Mensaje
import sincronizar_tabla  
import utiles

def create(parent):
    return Dialog1(parent)

[wxID_DIALOG1, wxID_DIALOG1GRID1, wxID_DIALOG1PROCESAR, 
 wxID_DIALOG1STATICTEXT2, wxID_DIALOG1STATICTEXT4, 
] = [wx.NewId() for _init_ctrls in range(5)]

class Dialog1(wx.Dialog):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Dialog.__init__(self, id=wxID_DIALOG1, name='', parent=prnt,
              pos=wx.Point(311, 212), size=wx.Size(777, 336),
              style=wx.DEFAULT_DIALOG_STYLE,
              title='Entrega de Prendas de la Modista:')
        self.SetClientSize(wx.Size(761, 300))

        self.grid1 = wx.grid.Grid(id=wxID_DIALOG1GRID1, name='grid1',
              parent=self, pos=wx.Point(8, 32), size=wx.Size(752, 216),
              style=0)


        self.Procesar = wx.Button(id=wxID_DIALOG1PROCESAR,
              label='Procesar Cobranzas sobre Arreglos', name='Procesar',
              parent=self, pos=wx.Point(576, 256), size=wx.Size(176, 32),
              style=0)
        self.Procesar.Bind(wx.EVT_BUTTON, self.OnProcesarButton,
              id=wxID_DIALOG1PROCESAR)

        self.staticText2 = wx.StaticText(id=wxID_DIALOG1STATICTEXT2,
              label='Ingrese el valor del arreglo en el campo PRECIO. El mismo NO se acredita a la caja de hoy.',
              name='staticText2', parent=self, pos=wx.Point(55, 261),
              size=wx.Size(435, 13), style=0)

        self.staticText4 = wx.StaticText(id=wxID_DIALOG1STATICTEXT4,
              label='Entrega de Prendas de la Modista:', name='staticText4',
              parent=self, pos=wx.Point(8, 8), size=wx.Size(166, 13), style=0)

    def __init__(self, parent):
        self._init_ctrls(parent)
        self.padre = parent
        self.sucursal = self.padre.sucursalNro
        self.devoluciones = []
        

        
        self.cargaGrilla()
       
                    
    def cargaGrilla(self):
        columnas =['ID.Arreglo','PTC','Cod. Sussan','Descripcion', 'Fecha Entrada','Fecha Entrega' , 'Descrip. Arreglo', 'Modista', 'Precio']
        self.grid1.CreateGrid(60, len(columnas))
        
        for i, col in enumerate(columnas): 
            self.grid1.SetColLabelValue(i, col)
            
        self.grid1.AutoSizeColumn(0,True)
        self.grid1.AutoSizeRow(0,True)
        self.grid1.AutoSizeColumn(1,True)
        self.grid1.AutoSizeColumn(2,True)
        self.grid1.AutoSizeColumn(3,True)
        self.grid1.AutoSizeColumn(4,True)
        self.grid1.AutoSizeColumn(5,True)
        self.grid1.AutoSizeColumn(6,True)
        self.grid1.AutoSizeColumn(7,True)
        self.grid1.DisableDragColSize()
        self.grid1.DisableDragRowSize()
        self.total = "" 
        
        for x in xrange(60):
            for j in xrange(len(columnas)):
                if j==8:
                    self.grid1.SetReadOnly(x,j,False)
                else:
                    self.grid1.SetReadOnly(x,j,True)
                    
        
        sql = "SELECT a.idarreglo, b.id ,b.codsussan,c.descri,a.fechaingreso,a.fechaentrega,a.arreglo,idmodista FROM modista a, producto_talle_color b, productos c WHERE a.codigoart=b.id AND c.codsussan=b.codsussan and a.precio=0 order by fechaingreso desc"
        
        print sql

        resultados = consultasBD.ordenCrudaDict(sql)        
        for i, r in enumerate(resultados):          
                self.grid1.SetCellValue(i, 0, str(r["idarreglo"])) 
                self.grid1.SetCellValue(i, 1, str(r["id"])) 
                self.grid1.SetCellValue(i, 2, str(r["codsussan"]))
                self.grid1.SetCellValue(i, 3, str(r["descri"])) 
                self.grid1.SetCellValue(i, 4, utiles.convertirFecha(r["fechaingreso"])) 
                self.grid1.SetCellValue(i, 5, utiles.convertirFecha(r["fechaentrega"]))
                self.grid1.SetCellValue(i, 6, str(r["arreglo"]))
                self.grid1.SetCellValue(i, 7, str(r["idmodista"]))                
                

    def OnProcesarButton(self, event):
        
        for x in xrange(self.grid1.GetNumberRows()):
            monto = self.grid1.GetCellValue(x,8)
            #validar que sea DIGITOS !!
             
            if (monto !=""):
                
                SQL="UPDATE modista SET precio=%s WHERE idarreglo=%s" % (monto,self.grid1.GetCellValue(x,0))
                print SQL
                r =consultasBD.executa(self,SQL)
                utiles.mensaje(self,"SE CARGO EL PAGO DE"+str(monto))
        self.Close()
                
            
